﻿/********************************************************************************
** @ Date:2025/07/31
** @ Author: Gaojia
** @ Description:
** @ Version:1.0.0
** @ Fun:
********************************************************************************/
#ifndef CBeltFactHy_H
#define CBeltFactHy_H
#include "CBeltFactBase.h"
#include "CBeltDataBase.h"
#include "CBeltWorkBase.h"
#include "CBeltCtrMgr.h"
#include "CPointMgrBase.h"
enum EPanelType
{
	enVideoPanel,       //视频模板
	enStateInfoPanel,   //状态信息模板
	enLogInfoPanel,   //状态信息模板
	enPanelCount
};

class CBeltFactHy :
	public CBeltFactBase
{
public:
	CBeltFactHy(QString sGuid, QString sName);
	~CBeltFactHy();
	void createAll(void *pData);
	CBeltDataBase *createBasicData();   //创建皮带撕裂数据类
	CBeltWorkBase * createWorkMngr();   //创建业务逻辑
	CBeltCtrMgr * createBeltCtrMgr();   //创建控制对象
	QVector<QWidget *>getPanelList();   //获取面板列表
	CPointMgrBase *createMngrBase();    //创建测点管理对象
	QWidget* getPanel(int nId);         //获取指定面板
private:
	QWidget * createPanel(int nId);     //创建指定面板
private:
	QString m_sGuid;
	QString m_sName;
	CBeltDataBase *m_pBeltData;
	CBeltCtrMgr *m_pBeltCtrMgr;
	CBeltWorkBase *m_pBeltWork;
	CPointMgrBase *m_pPointMgrBase;
	QVector<QWidget*>    m_vecWidget;
};

#endif